pattern program